home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-29 | 4.5 KB | 221 lines | [TEXT/MPS ] |
-
- {
- Created: Monday, January 22, 1990 at 9:18 PM
- PasLibIntf.p
- Pascal Interface to the Macintosh Libraries
-
- Copyright Apple Computer, Inc. 1986-1991
- All rights reserved
-
-
- Interface to the Pascal I/O and Memory Manager Library.
- Built-in procedure and function declarations are marked with
- the (* *) comment characters
-
- }
-
-
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT PASLIBIntf;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED UsingPASLIBINTF}
- {$SETC UsingPASLIBINTF := 1}
-
- {$I+}
- {$SETC PASLIBINTFIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
- {$IFC UNDEFINED UsingTypes}
- {$I $$Shell(PInterfaces)Types.p}
- {$ENDC}
- {$SETC UsingIncludes := PASLIBINTFIncludes}
-
- TYPE
- PASCALPOINTER = ^INTEGER; { Universal POINTER type }
- PASCALFILE = FILE; { Universal FILE type }
- (*
- * PASCALBLOCK = { Universal block of chars }
- * PACKED ARRAY [0..511] OF CHAR;
- *)
-
- CONST
- { <StdIO.h> PLSetVBuf styles }
- _IOFBF = $00; { File buffering }
- _IOLBF = $40; { Line buffering }
- _IONBF = $04; { No buffering }
-
- {
- Mac Pascal heap management
- }
-
- PROCEDURE PLHeapInit(sizepheap: LONGINT; heapDelta: LONGINT;
- memerrProc: UNIV PASCALPOINTER; allowNonCont: BOOLEAN;
- forDispose: BOOLEAN);
- {
- The following procedure is obsolete, use PLHeapInit
- }
-
- PROCEDURE PLInitHeap(sizepheap: LONGINT; memerrProc: UNIV PASCALPOINTER;
- allowNonCont: BOOLEAN; allowDispose: BOOLEAN);
-
- PROCEDURE PLSetNonCont(allowNonCont: BOOLEAN);
-
- PROCEDURE PLSetMErrProc(memerrProc: UNIV PASCALPOINTER);
-
- PROCEDURE PLSetHeapType(forDispose: BOOLEAN);
-
- PROCEDURE PLSetHeapCheck(DoIt: BOOLEAN);
-
- {
- File I/O
- }
-
- (*
- * PROCEDURE
- * RESET(VAR fvar: UNIV PASCALFILE; OPT fname: STRING);
- * BUILTIN;
- *
- * PROCEDURE
- * REWRITE(VAR fvar: UNIV PASCALFILE; OPT fname: STRING);
- * BUILTIN;
- *
- * PROCEDURE
- * OPEN(VAR fvar: UNIV PASCALFILE; fname: STRING);
- * BUILTIN;
- *)
-
- PROCEDURE PLSetVBuf(VAR fvar: TEXT; buffer: UNIV PASCALPOINTER;
- style: INTEGER; bufsize: INTEGER);
- (*
- * FUNCTION
- * BLOCKREAD(
- * VAR fvar: FILE;
- * VAR buffer: UNIV PASCALBLOCK;
- * nBlocks: INTEGER;
- * OPT stBlock:INTEGER
- * ):
- * INTEGER;
- * BUILTIN;
- *
- * FUNCTION
- * BLOCKWRITE(
- * VAR fvar: FILE;
- * VAR buffer: UNIV PASCALBLOCK;
- * nBlocks: INTEGER;
- * OPT stBlock:INTEGER
- * ):
- * INTEGER;
- * BUILTIN;
- *
- * FUNCTION
- * BYTEREAD(
- * VAR fvar: FILE;
- * VAR buffer: UNIV PASCALBLOCK;
- * nBytes: LONGINT;
- * OPT stByte: LONGINT
- * ):
- * LONGINT;
- * BUILTIN;
- *
- * FUNCTION
- * BYTEWRITE(
- * VAR fvar: FILE;
- * VAR buffer: UNIV PASCALBLOCK;
- * nBytes: LONGINT;
- * OPT stByte: LONGINT
- * ):
- * LONGINT;
- * BUILTIN;
- *
- * FUNCTION
- * EOF(OPT VAR fvar: UNIV PASCALFILE):
- * BOOLEAN;
- * BUILTIN;
- *
- * FUNCTION
- * EOLN(OPT VAR fvar: TEXT):
- * BOOLEAN;
- * BUILTIN;
- *
- * PROCEDURE
- * READ(VAR fvar: TEXT; OPT EXPR_LIST);
- * BUILTIN;
- *
- * PROCEDURE
- * READLN(OPT VAR fvar: TEXT; OPT EXPR_LIST);
- * BUILTIN;
- *
- * PROCEDURE
- * WRITE(VAR fvar: TEXT; OPT EXPR_LIST);
- * BUILTIN;
- *
- * PROCEDURE
- * WRITELN(OPT VAR fvar: TEXT; OPT EXPR_LIST);
- * BUILTIN;
- *
- * PROCEDURE
- * GET(VAR fvar: UNIV PASCALFILE);
- * BUILTIN;
- *
- * PROCEDURE
- * PUT(VAR fvar: UNIV PASCALFILE);
- * BUILTIN;
- *
- * PROCEDURE
- * SEEK(VAR fvar: UNIV PASCALFILE; recno: LONGINT);
- * BUILTIN;
- *)
-
- FUNCTION PLFilePos(VAR fvar: UNIV PASCALFILE): LONGINT;
-
- PROCEDURE PLFlush(VAR fvar: TEXT);
-
- PROCEDURE PLCrunch(VAR fvar: UNIV PASCALFILE);
- {
- Directory operations.
- }
-
- PROCEDURE PLPurge(fname: STRING);
-
- PROCEDURE PLRename(oldFname, newFname: STRING);
-
- {
- C string functions for Pascal strings
- }
- FUNCTION PLStrCmp(string1, string2: STR255): INTEGER;
-
- FUNCTION PLStrnCmp(string1, string2: STR255; n: INTEGER): INTEGER;
-
- FUNCTION PLStrCpy(VAR string1: STR255; string2: STR255): STRINGPTR;
-
- FUNCTION PLStrnCpy(VAR string1: STR255; string2: STR255; n: INTEGER): STRINGPTR;
-
- FUNCTION PLStrCat(VAR string1: STR255; string2: STR255): STRINGPTR;
-
- FUNCTION PLStrnCat(VAR string1: STR255; string2: STR255; n: INTEGER): STRINGPTR;
-
- FUNCTION PLStrChr(string1: STR255; c: CHAR): PTR;
-
- FUNCTION PLStrrChr(string1: STR255; c: CHAR): PTR;
-
- FUNCTION PLStrPBrk(string1, string2: STR255): PTR;
-
- FUNCTION PLStrSpn(string1, string2: STR255): INTEGER;
-
- FUNCTION PLStrStr(string1, string2: STR255): PTR;
-
- FUNCTION PLStrLen(string1: STR255): INTEGER;
-
- FUNCTION PLPos(STRING1: STR255; STRING2: STR255): INTEGER;
-
- {$ENDC} { UsingPASLIBINTF }
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-